package com.zzw.service;

import com.zzw.bean.TChargeBox;
import com.zzw.bean.Wallet;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @author 赵志伟
 * @version 1.0
 */
public interface WalletService {

    List<Wallet> listByCondition(Wallet wallet);

    List<Wallet> getFooterData(Wallet wallet);

    boolean save(Wallet wallet);

    boolean delete(Integer id);

    boolean update(Wallet wallet);

    /**
     * 批量保存钱包数据
     * @param walletList 钱包数据列表
     * @return 成功导入的记录数
     */
    int batchSave(List<Wallet> walletList);

    /**
     * 批量删除钱包数据
     * @param ids ID数组
     * @return 成功删除的记录数
     */
    int batchDelete(String[] ids);

    /**
     * 获取支出分类统计数据
     * @param wallet 查询条件
     * @return 分类统计数据
     */
    List<Map<String, Object>> getCategoryStatistics(Wallet wallet);

    /**
     * 获取月度收支统计数据
     * @param wallet 查询条件
     * @return 月度统计数据
     */
    Map<String, Object> getMonthlyStatistics(Wallet wallet);

    void exportQrCode(MultipartFile excelFile);
}
